Remove ATK
authorEmmanuele Bassi <ebassi@gnome.org>
Tue, 16 Jun 2020 15:41:59 +0000 (16:41 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Sun, 26 Jul 2020 19:31:14 +0000 (20:31 +0100)
commitc63087a5631e72cd1c45bdc5a41bf605195be64c
tree5336167dacb3d88a5d23220d0846f7847605590c
parentea0fc7619ddd0ad20cd7c83e3e8c8672004c20c9
Remove ATK

To build a better world sometimes means having to tear the old one down.
        -- Alexander Pierce, "Captain America: The Winter Soldier"

ATK served us well for nearly 20 years, but the world has changed, and
GTK has changed with it. Now ATK is mostly a hindrance towards improving
the accessibility stack:

 - it maps to a very specific implementation, AT-SPI, which is Linux and
   Unix specific
 - it requires implementing the same functionality in three different
   layers of the stack: AT-SPI, ATK, and GTK
 - only GTK uses it; every other Linux and Unix toolkit and application
   talks to AT-SPI directly, including assistive technologies

Sadly, we cannot incrementally port GTK to a new accessibility stack;
since ATK insulates us entirely from the underlying implementation, we
cannot replace it piecemeal. Instead, we're going to remove everything
and then incrementally build on a clean slate:

 - add an "accessible" interface, implemented by GTK objects directly,
   which describe the accessible role and state changes for every UI
   element
 - add an "assistive technology context" to proxy a native accessibility
   API, and assign it to every widget
 - implement the AT context depending on the platform

For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
344 files changed:
README.md
demos/gtk-demo/demo.ui
demos/gtk-demo/demotaggedentry.c
demos/gtk-demo/filtermodel.ui
demos/gtk-demo/listbox.ui
demos/gtk-demo/scale.ui
demos/icon-browser/window.ui
demos/widget-factory/widget-factory.c
demos/widget-factory/widget-factory.ui
docs/reference/gtk/building.md
docs/reference/gtk/compiling.md
docs/reference/gtk/overview.xml
gtk/a11y/gtk-a11y-autocleanups.h [deleted file]
gtk/a11y/gtkaccessibility.c [deleted file]
gtk/a11y/gtkaccessibility.h [deleted file]
gtk/a11y/gtkaccessibilityutil.c [deleted file]
gtk/a11y/gtkaccessibilityutil.h [deleted file]
gtk/a11y/gtkbooleancellaccessible.c [deleted file]
gtk/a11y/gtkbooleancellaccessible.h [deleted file]
gtk/a11y/gtkbuttonaccessible.c [deleted file]
gtk/a11y/gtkbuttonaccessible.h [deleted file]
gtk/a11y/gtkcellaccessible.c [deleted file]
gtk/a11y/gtkcellaccessible.h [deleted file]
gtk/a11y/gtkcellaccessibleparent.c [deleted file]
gtk/a11y/gtkcellaccessibleparent.h [deleted file]
gtk/a11y/gtkcellaccessibleprivate.h [deleted file]
gtk/a11y/gtkcolorswatchaccessible.c [deleted file]
gtk/a11y/gtkcolorswatchaccessibleprivate.h [deleted file]
gtk/a11y/gtkcomboboxaccessible.c [deleted file]
gtk/a11y/gtkcomboboxaccessible.h [deleted file]
gtk/a11y/gtkcompositeaccessible.c [deleted file]
gtk/a11y/gtkcompositeaccessible.h [deleted file]
gtk/a11y/gtkcontainercellaccessible.c [deleted file]
gtk/a11y/gtkcontainercellaccessible.h [deleted file]
gtk/a11y/gtkentryaccessible.c [deleted file]
gtk/a11y/gtkentryaccessible.h [deleted file]
gtk/a11y/gtkexpanderaccessible.c [deleted file]
gtk/a11y/gtkexpanderaccessible.h [deleted file]
gtk/a11y/gtkexpanderaccessibleprivate.h [deleted file]
gtk/a11y/gtkflowboxaccessible.c [deleted file]
gtk/a11y/gtkflowboxaccessible.h [deleted file]
gtk/a11y/gtkflowboxaccessibleprivate.h [deleted file]
gtk/a11y/gtkflowboxchildaccessible.c [deleted file]
gtk/a11y/gtkflowboxchildaccessible.h [deleted file]
gtk/a11y/gtkframeaccessible.c [deleted file]
gtk/a11y/gtkframeaccessible.h [deleted file]
gtk/a11y/gtkiconviewaccessible.c [deleted file]
gtk/a11y/gtkiconviewaccessible.h [deleted file]
gtk/a11y/gtkiconviewaccessibleprivate.h [deleted file]
gtk/a11y/gtkimageaccessible.c [deleted file]
gtk/a11y/gtkimageaccessible.h [deleted file]
gtk/a11y/gtkimagecellaccessible.c [deleted file]
gtk/a11y/gtkimagecellaccessible.h [deleted file]
gtk/a11y/gtklabelaccessible.c [deleted file]
gtk/a11y/gtklabelaccessible.h [deleted file]
gtk/a11y/gtklabelaccessibleprivate.h [deleted file]
gtk/a11y/gtklevelbaraccessible.c [deleted file]
gtk/a11y/gtklevelbaraccessible.h [deleted file]
gtk/a11y/gtklinkbuttonaccessible.c [deleted file]
gtk/a11y/gtklinkbuttonaccessible.h [deleted file]
gtk/a11y/gtklistboxaccessible.c [deleted file]
gtk/a11y/gtklistboxaccessible.h [deleted file]
gtk/a11y/gtklistboxaccessibleprivate.h [deleted file]
gtk/a11y/gtklistboxrowaccessible.c [deleted file]
gtk/a11y/gtklistboxrowaccessible.h [deleted file]
gtk/a11y/gtklockbuttonaccessible.c [deleted file]
gtk/a11y/gtklockbuttonaccessible.h [deleted file]
gtk/a11y/gtklockbuttonaccessibleprivate.h [deleted file]
gtk/a11y/gtkmenubuttonaccessible.c [deleted file]
gtk/a11y/gtkmenubuttonaccessible.h [deleted file]
gtk/a11y/gtknotebookaccessible.c [deleted file]
gtk/a11y/gtknotebookaccessible.h [deleted file]
gtk/a11y/gtknotebookaccessibleprivate.h [deleted file]
gtk/a11y/gtknotebookpageaccessible.c [deleted file]
gtk/a11y/gtknotebookpageaccessible.h [deleted file]
gtk/a11y/gtkpanedaccessible.c [deleted file]
gtk/a11y/gtkpanedaccessible.h [deleted file]
gtk/a11y/gtkpasswordentryaccessible.c [deleted file]
gtk/a11y/gtkpasswordentryaccessible.h [deleted file]
gtk/a11y/gtkpasswordentryaccessibleprivate.h [deleted file]
gtk/a11y/gtkpictureaccessible.c [deleted file]
gtk/a11y/gtkpictureaccessibleprivate.h [deleted file]
gtk/a11y/gtkpopoveraccessible.c [deleted file]
gtk/a11y/gtkpopoveraccessible.h [deleted file]
gtk/a11y/gtkprogressbaraccessible.c [deleted file]
gtk/a11y/gtkprogressbaraccessible.h [deleted file]
gtk/a11y/gtkprogressbaraccessibleprivate.h [deleted file]
gtk/a11y/gtkradiobuttonaccessible.c [deleted file]
gtk/a11y/gtkradiobuttonaccessible.h [deleted file]
gtk/a11y/gtkrangeaccessible.c [deleted file]
gtk/a11y/gtkrangeaccessible.h [deleted file]
gtk/a11y/gtkrenderercellaccessible.c [deleted file]
gtk/a11y/gtkrenderercellaccessible.h [deleted file]
gtk/a11y/gtkscaleaccessible.c [deleted file]
gtk/a11y/gtkscaleaccessible.h [deleted file]
gtk/a11y/gtkscalebuttonaccessible.c [deleted file]
gtk/a11y/gtkscalebuttonaccessible.h [deleted file]
gtk/a11y/gtkscrollbaraccessible.c [deleted file]
gtk/a11y/gtkscrollbaraccessible.h [deleted file]
gtk/a11y/gtkscrolledwindowaccessible.c [deleted file]
gtk/a11y/gtkscrolledwindowaccessible.h [deleted file]
gtk/a11y/gtksearchentryaccessible.c [deleted file]
gtk/a11y/gtksearchentryaccessible.h [deleted file]
gtk/a11y/gtkspinbuttonaccessible.c [deleted file]
gtk/a11y/gtkspinbuttonaccessible.h [deleted file]
gtk/a11y/gtkspinneraccessible.c [deleted file]
gtk/a11y/gtkspinneraccessible.h [deleted file]
gtk/a11y/gtkstackaccessible.c [deleted file]
gtk/a11y/gtkstackaccessible.h [deleted file]
gtk/a11y/gtkstackaccessibleprivate.h [deleted file]
gtk/a11y/gtkstatusbaraccessible.c [deleted file]
gtk/a11y/gtkstatusbaraccessible.h [deleted file]
gtk/a11y/gtkswitchaccessible.c [deleted file]
gtk/a11y/gtkswitchaccessible.h [deleted file]
gtk/a11y/gtktextaccessible.c [deleted file]
gtk/a11y/gtktextaccessible.h [deleted file]
gtk/a11y/gtktextcellaccessible.c [deleted file]
gtk/a11y/gtktextcellaccessible.h [deleted file]
gtk/a11y/gtktextviewaccessible.c [deleted file]
gtk/a11y/gtktextviewaccessible.h [deleted file]
gtk/a11y/gtktextviewaccessibleprivate.h [deleted file]
gtk/a11y/gtktogglebuttonaccessible.c [deleted file]
gtk/a11y/gtktogglebuttonaccessible.h [deleted file]
gtk/a11y/gtktoplevelaccessible.c [deleted file]
gtk/a11y/gtktoplevelaccessible.h [deleted file]
gtk/a11y/gtktreeviewaccessible.c [deleted file]
gtk/a11y/gtktreeviewaccessible.h [deleted file]
gtk/a11y/gtktreeviewaccessibleprivate.h [deleted file]
gtk/a11y/gtkwidgetaccessible.c [deleted file]
gtk/a11y/gtkwidgetaccessible.h [deleted file]
gtk/a11y/gtkwidgetaccessibleprivate.h [deleted file]
gtk/a11y/gtkwindowaccessible.c [deleted file]
gtk/a11y/gtkwindowaccessible.h [deleted file]
gtk/a11y/gtkwindowaccessibleprivate.h [deleted file]
gtk/a11y/meson.build [deleted file]
gtk/gtk-a11y.h [deleted file]
gtk/gtk.h
gtk/gtkaccellabel.c
gtk/gtkaccessible.c [deleted file]
gtk/gtkaccessible.h [deleted file]
gtk/gtkactionbar.c
gtk/gtkassistant.c
gtk/gtkbox.c
gtk/gtkbutton.c
gtk/gtkcalendar.c
gtk/gtkcellrenderer.c
gtk/gtkcellrenderer.h
gtk/gtkcellrendererpixbuf.c
gtk/gtkcellrenderertext.c
gtk/gtkcellrenderertoggle.c
gtk/gtkcenterbox.c
gtk/gtkcheckbutton.c
gtk/gtkcolorchooserwidget.c
gtk/gtkcolorplane.c
gtk/gtkcolorscale.c
gtk/gtkcolorswatch.c
gtk/gtkcombobox.c
gtk/gtkcombobox.h
gtk/gtkdialog.c
gtk/gtkdrawingarea.c
gtk/gtkentry.c
gtk/gtkentrycompletion.c
gtk/gtkexpander.c
gtk/gtkfilechooserdialog.c
gtk/gtkflowbox.c
gtk/gtkfontchooserdialog.c
gtk/gtkfontchooserwidget.c
gtk/gtkframe.c
gtk/gtkglarea.c
gtk/gtkheaderbar.c
gtk/gtkiconview.c
gtk/gtkimage.c
gtk/gtkinfobar.c
gtk/gtklabel.c
gtk/gtklevelbar.c
gtk/gtklinkbutton.c
gtk/gtklistbox.c
gtk/gtklockbutton.c
gtk/gtkmain.c
gtk/gtkmenubutton.c
gtk/gtkmessagedialog.c
gtk/gtkmodelbutton.c
gtk/gtknotebook.c
gtk/gtkpaned.c
gtk/gtkpango.c
gtk/gtkpango.h
gtk/gtkpasswordentry.c
gtk/gtkpathbar.c
gtk/gtkpicture.c
gtk/gtkprogressbar.c
gtk/gtkradiobutton.c
gtk/gtkrange.c
gtk/gtkscale.c
gtk/gtkscalebutton.c
gtk/gtkscrollbar.c
gtk/gtkscrolledwindow.c
gtk/gtksearchentry.c
gtk/gtkseparator.c
gtk/gtkspinbutton.c
gtk/gtkspinner.c
gtk/gtkstack.c
gtk/gtkstackswitcher.c
gtk/gtkstatusbar.c
gtk/gtkstylecontext.c
gtk/gtkstylecontextprivate.h
gtk/gtkswitch.c
gtk/gtktext.c
gtk/gtktextbuffer.c
gtk/gtktextbufferprivate.h
gtk/gtktextview.c
gtk/gtktogglebutton.c
gtk/gtktooltip.c
gtk/gtktooltipwindow.c
gtk/gtktreeselection.c
gtk/gtktreeview.c
gtk/gtktreeviewcolumn.c
gtk/gtkviewport.c
gtk/gtkvolumebutton.c
gtk/gtkwidget.c
gtk/gtkwidget.h
gtk/gtkwidgetprivate.h
gtk/gtkwindow.c
gtk/gtkwindowcontrols.c
gtk/inspector/misc-info.c
gtk/inspector/misc-info.ui
gtk/meson.build
gtk/ui/gtkcoloreditor.ui
gtk/ui/gtkfilechooserwidget.ui
gtk/ui/gtkprintunixdialog.ui
gtk/ui/gtkvolumebutton.ui
meson.build
subprojects/atk.wrap [deleted file]
tests/testlist3.c
testsuite/a11y/README [deleted file]
testsuite/a11y/about.txt [deleted file]
testsuite/a11y/about.ui [deleted file]
testsuite/a11y/accessibile-name.txt [deleted file]
testsuite/a11y/accessibility-dump.c [deleted file]
testsuite/a11y/accessible-name.txt [deleted file]
testsuite/a11y/accessible-name.ui [deleted file]
testsuite/a11y/actionbar.txt [deleted file]
testsuite/a11y/actionbar.ui [deleted file]
testsuite/a11y/assistant.txt [deleted file]
testsuite/a11y/assistant.ui [deleted file]
testsuite/a11y/buttons.txt [deleted file]
testsuite/a11y/buttons.ui [deleted file]
testsuite/a11y/calendar.txt [deleted file]
testsuite/a11y/calendar.ui [deleted file]
testsuite/a11y/children.c [deleted file]
testsuite/a11y/children.test.in [deleted file]
testsuite/a11y/colorchooser.txt [deleted file]
testsuite/a11y/colorchooser.ui [deleted file]
testsuite/a11y/combos.txt [deleted file]
testsuite/a11y/combos.ui [deleted file]
testsuite/a11y/derive.c [deleted file]
testsuite/a11y/derive.test.in [deleted file]
testsuite/a11y/entries.txt [deleted file]
testsuite/a11y/entries.ui [deleted file]
testsuite/a11y/expander.txt [deleted file]
testsuite/a11y/expander.ui [deleted file]
testsuite/a11y/headerbar.txt [deleted file]
testsuite/a11y/headerbar.ui [deleted file]
testsuite/a11y/hello-world.txt [deleted file]
testsuite/a11y/hello-world.ui [deleted file]
testsuite/a11y/iconview.txt [deleted file]
testsuite/a11y/iconview.ui [deleted file]
testsuite/a11y/infobar.txt [deleted file]
testsuite/a11y/infobar.ui [deleted file]
testsuite/a11y/label-static.txt [deleted file]
testsuite/a11y/label-static.ui [deleted file]
testsuite/a11y/label.txt [deleted file]
testsuite/a11y/label.ui [deleted file]
testsuite/a11y/link.txt [deleted file]
testsuite/a11y/link.ui [deleted file]
testsuite/a11y/listbox.txt [deleted file]
testsuite/a11y/listbox.ui [deleted file]
testsuite/a11y/lockbutton.txt [deleted file]
testsuite/a11y/lockbutton.ui [deleted file]
testsuite/a11y/menubutton.txt [deleted file]
testsuite/a11y/menubutton.ui [deleted file]
testsuite/a11y/menubutton2.txt [deleted file]
testsuite/a11y/menubutton2.ui [deleted file]
testsuite/a11y/meson.build [deleted file]
testsuite/a11y/messagedialog.txt [deleted file]
testsuite/a11y/messagedialog.ui [deleted file]
testsuite/a11y/misc.c [deleted file]
testsuite/a11y/misc.test.in [deleted file]
testsuite/a11y/mnemonic.txt [deleted file]
testsuite/a11y/mnemonic.ui [deleted file]
testsuite/a11y/notebook.txt [deleted file]
testsuite/a11y/notebook.ui [deleted file]
testsuite/a11y/paned.txt [deleted file]
testsuite/a11y/paned.ui [deleted file]
testsuite/a11y/pickers.txt [deleted file]
testsuite/a11y/pickers.ui [deleted file]
testsuite/a11y/placeholder-text.txt [deleted file]
testsuite/a11y/placeholder-text.ui [deleted file]
testsuite/a11y/progress.txt [deleted file]
testsuite/a11y/progress.ui [deleted file]
testsuite/a11y/range.txt [deleted file]
testsuite/a11y/range.ui [deleted file]
testsuite/a11y/scale-drawvalue.txt [deleted file]
testsuite/a11y/scale-drawvalue.ui [deleted file]
testsuite/a11y/spinner.txt [deleted file]
testsuite/a11y/spinner.ui [deleted file]
testsuite/a11y/stack.txt [deleted file]
testsuite/a11y/stack.ui [deleted file]
testsuite/a11y/state/focus1.in [deleted file]
testsuite/a11y/state/focus1.out [deleted file]
testsuite/a11y/state/focus1.ui [deleted file]
testsuite/a11y/state/focus2.in [deleted file]
testsuite/a11y/state/focus2.out [deleted file]
testsuite/a11y/state/focus2.ui [deleted file]
testsuite/a11y/state/state-record.c [deleted file]
testsuite/a11y/statusbar.txt [deleted file]
testsuite/a11y/statusbar.ui [deleted file]
testsuite/a11y/testfocus.c [deleted file]
testsuite/a11y/tests.test.in [deleted file]
testsuite/a11y/text.c [deleted file]
testsuite/a11y/text.test.in [deleted file]
testsuite/a11y/text.txt [deleted file]
testsuite/a11y/text.ui [deleted file]
testsuite/a11y/tooltips.txt [deleted file]
testsuite/a11y/tooltips.ui [deleted file]
testsuite/a11y/tree-performance.c [deleted file]
testsuite/a11y/tree-relationships.c [deleted file]
testsuite/a11y/tree.test.in [deleted file]
testsuite/a11y/tree.txt [deleted file]
testsuite/a11y/tree.ui [deleted file]
testsuite/a11y/util.c [deleted file]
testsuite/a11y/util.test.in [deleted file]
testsuite/a11y/value.c [deleted file]
testsuite/a11y/value.test.in [deleted file]
testsuite/css/nodes/buttons.ui
testsuite/gtk/accessible.c [deleted file]
testsuite/gtk/builder.c
testsuite/gtk/focus-chain/widget-factory.ui
testsuite/gtk/focus-chain/widget-factory2.ui
testsuite/gtk/focus-chain/widget-factory3.ui
testsuite/gtk/meson.build
testsuite/gtk/notify.c
testsuite/meson.build
testsuite/tools/simplify-data-3to4/grid.expected
testsuite/tools/simplify-data-3to4/grid.ui